package com.mars.tukuan.dao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.github.pagehelper.Page;
import com.mars.base.common.utils.Paginator;
import com.mars.base.dao.support.BaseMapper;
import com.mars.tukuan.dto.CarStateVo;
import com.mars.tukuan.dto.ReportCarInjureMonthTotalDto;
import com.mars.tukuan.dto.ReportUserMonthCheckDto;
import com.mars.tukuan.dto.ReportUserMonthMoneyDto;
import com.mars.tukuan.dto.ReportUserMonthTcDto;
import com.mars.tukuan.entity.CarState;

public interface CarStateMapper extends BaseMapper<CarState, Long> {
	
	public Page<CarStateVo> list(@Param("paginator")Paginator paginator, @Param("entity")CarStateVo entity) ;
	
	public Page<CarStateVo> selectPageCarState(@Param("paginator")Paginator paginator, @Param("entity")CarStateVo entity) ;
	
	public int compensate(@Param("entity")CarState entity) ;
	
	public int follow(@Param("entity")CarState entity) ;
	
	public int deleteByCheckId(Long carCheckId) ;
	
	/**
	 * 汇总用户每月追讨赔偿金额
	 * @param entity
	 * @return
	 */
	public List<ReportUserMonthMoneyDto> reportUserMonthMoney(@Param("entity") ReportUserMonthMoneyDto entity) ;
	
	/**
	 * 汇总用户每月提成金额
	 * @param entity
	 * @return
	 */
	public List<ReportUserMonthTcDto> reportUserMonthTc(@Param("entity") ReportUserMonthTcDto entity) ;
	
	/**
	 * 汇总车辆每月损伤数量
	 * @param entity
	 * @return
	 */
	public List<ReportCarInjureMonthTotalDto> reportCarInjureMonthTotal(@Param("entity") ReportCarInjureMonthTotalDto entity) ;
	
	/**
	 * 汇总用户每月检查车辆数量
	 * @param entity
	 * @return
	 */
	public List<ReportUserMonthCheckDto> reportUserMonthCheck(@Param("entity") ReportUserMonthCheckDto entity) ;
	
	
}